home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / documents / RFC / rfc1612.txt < prev    next >
Text File  |  1994-08-01  |  61KB  |  1,796 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                         R. Austein
  8. Request for Comments: 1612               Epilogue Technology Corporation
  9. Category: Standards Track                                     J. Saperia
  10.                                            Digital Equipment Corporation
  11.                                                                 May 1994
  12.  
  13.  
  14.                       DNS Resolver MIB Extensions
  15.  
  16. Status of this Memo
  17.  
  18.    This document specifies an Internet standards track protocol for the
  19.    Internet community, and requests discussion and suggestions for
  20.    improvements.  Please refer to the current edition of the "Internet
  21.    Official Protocol Standards" (STD 1) for the standardization state
  22.    and status of this protocol.  Distribution of this memo is unlimited.
  23.  
  24. Table of Contents
  25.  
  26.    1. Introduction ..............................................    1
  27.    2. The SNMPv2 Network Management Framework ...................    2
  28.    2.1 Object Definitions .......................................    2
  29.    3. Overview ..................................................    2
  30.    3.1 Resolvers ................................................    3
  31.    3.2 Name Servers .............................................    3
  32.    3.3 Selected Objects .........................................    4
  33.    3.4 Textual Conventions ......................................    4
  34.    4. Definitions ...............................................    5
  35.    5. Acknowledgements ..........................................   30
  36.    6. References ................................................   30
  37.    7. Security Considerations ...................................   32
  38.    8. Authors' Addresses ........................................   32
  39.  
  40. 1.  Introduction
  41.  
  42.    This memo defines a portion of the Management Information Base (MIB)
  43.    for use with network management protocols in the Internet community.
  44.    In particular, it describes a set of extensions which instrument DNS
  45.    resolver functions.  This memo was produced by the DNS working group.
  46.  
  47.    With the adoption of the Internet-standard Network Management
  48.    Framework [4,5,6,7], and with a large number of vendor
  49.    implementations of these standards in commercially available
  50.    products, it became possible to provide a higher level of effective
  51.    network management in TCP/IP-based internets than was previously
  52.    available.  With the growth in the use of these standards, it has
  53.    become possible to consider the management of other elements of the
  54.    infrastructure beyond the basic TCP/IP protocols.  A key element of
  55.  
  56.  
  57.  
  58. Austein & Saperia                                               [Page 1]
  59.  
  60. RFC 1612                    DNS Resolver MIB                    May 1994
  61.  
  62.  
  63.    the TCP/IP infrastructure is the DNS.
  64.  
  65.    Up to this point there has been no mechanism to integrate the
  66.    management of the DNS with SNMP-based managers.  This memo provides
  67.    the mechanisms by which IP-based management stations can effectively
  68.    manage DNS resolver software in an integrated fashion.
  69.  
  70.    We have defined DNS MIB objects to be used in conjunction with the
  71.    Internet MIB to allow access to and control of DNS resolver software
  72.    via SNMP by the Internet community.
  73.  
  74. 2.  The SNMPv2 Network Management Framework
  75.  
  76.    The SNMPv2 Network Management Framework consists of four major
  77.    components.  They are:
  78.  
  79.       o  RFC 1442 which defines the SMI, the mechanisms used for
  80.          describing and naming objects for the purpose of management.
  81.  
  82.       o  STD 17, RFC 1213 defines MIB-II, the core set of managed
  83.          objects for the Internet suite of protocols.
  84.  
  85.       o  RFC 1445 which defines the administrative and other
  86.          architectural aspects of the framework.
  87.  
  88.       o  RFC 1448 which defines the protocol used for network access to
  89.          managed objects.
  90.  
  91.    The Framework permits new objects to be defined for the purpose of
  92.    experimentation and evaluation.
  93.  
  94. 2.1.  Object Definitions
  95.  
  96.    Managed objects are accessed via a virtual information store, termed
  97.    the Management Information Base or MIB.  Objects in the MIB are
  98.    defined using the subset of Abstract Syntax Notation One (ASN.1)
  99.    defined in the SMI.  In particular, each object object type is named
  100.    by an OBJECT IDENTIFIER, an administratively assigned name.  The
  101.    object type together with an object instance serves to uniquely
  102.    identify a specific instantiation of the object.  For human
  103.    convenience, we often use a textual string, termed the descriptor, to
  104.    refer to the object type.
  105.  
  106. 3.  Overview
  107.  
  108.    In theory, the DNS world is pretty simple.  There are two kinds of
  109.    entities: resolvers and name servers.  Resolvers ask questions.  Name
  110.    servers answer them.  The real world, however, is not so simple.
  111.  
  112.  
  113.  
  114. Austein & Saperia                                               [Page 2]
  115.  
  116. RFC 1612                    DNS Resolver MIB                    May 1994
  117.  
  118.  
  119.    Implementors have made widely differing choices about how to divide
  120.    DNS functions between resolvers and servers.  They have also
  121.    constructed various sorts of exotic hybrids.  The most difficult task
  122.    in defining this MIB was to accommodate this wide range of entities
  123.    without having to come up with a separate MIB for each.
  124.  
  125.    We divided up the various DNS functions into two, non-overlapping
  126.    classes, called "resolver functions" and "name server functions."  A
  127.    DNS entity that performs what we define as resolver functions
  128.    contains a resolver, and therefore must implement the MIB groups
  129.    required of all resolvers which are defined in this module.  Some
  130.    resolvers also implement "optional" functions such as a cache, in
  131.    which case they must also implement the cache group contained in this
  132.    MIB.  A DNS entity which implements name server functions is
  133.    considered to be a name server, and must implement the MIB groups
  134.    required for name servers which are defined in a separate module.  If
  135.    the same piece of software performs both resolver and server
  136.    functions, we imagine that it contains both a resolver and a server
  137.    and would thus implement both the DNS Server and DNS Resolver MIBs.
  138.  
  139. 3.1.  Resolvers
  140.  
  141.    In our model, a resolver is a program (or piece thereof) which
  142.    obtains resource records from servers.  Normally it does so at the
  143.    behest of an application, but may also do so as part of its own
  144.    operation.  A resolver sends DNS protocol queries and receives DNS
  145.    protocol replies.  A resolver neither receives queries nor sends
  146.    replies.  A full service resolver is one that knows how to resolve
  147.    queries: it obtains the needed resource records by contacting a
  148.    server authoritative for the records desired.  A stub resolver does
  149.    not know how to resolve queries: it sends all queries to a local name
  150.    server, setting the "recursion desired" flag to indicate that it
  151.    hopes that the name server will be willing to resolve the query.  A
  152.    resolver may (optionally) have a cache for remembering previously
  153.    acquired resource records.  It may also have a negative cache for
  154.    remembering names or data that have been determined not to exist.
  155.  
  156. 3.2.  Name Servers
  157.  
  158.    A name server is a program (or piece thereof) that provides resource
  159.    records to resolvers.  All references in this document to "a name
  160.    server" imply "the name server's role"; in some cases the name
  161.    server's role and the resolver's role might be combined into a single
  162.    program.  A name server receives DNS protocol queries and sends DNS
  163.    protocol replies.  A name server neither sends queries nor receives
  164.    replies.  As a consequence, name servers do not have caches.
  165.    Normally, a name server would expect to receive only those queries to
  166.    which it could respond with authoritative information.  However, if a
  167.  
  168.  
  169.  
  170. Austein & Saperia                                               [Page 3]
  171.  
  172. RFC 1612                    DNS Resolver MIB                    May 1994
  173.  
  174.  
  175.    name server receives a query that it cannot respond to with purely
  176.    authoritative information, it may choose to try to obtain the
  177.    necessary additional information from a resolver which may or may not
  178.    be a separate process.
  179.  
  180. 3.3.  Selected Objects
  181.  
  182.    Many of the objects included in this memo have been created from
  183.    information contained in the DNS specifications [1,2], as amended and
  184.    clarified by subsequent host requirements documents [3].  Other
  185.    objects have been created based on experience with existing DNS
  186.    management tools, expected operational needs, the statistics
  187.    generated by existing DNS implementations, and the configuration
  188.    files used by existing DNS implementations.  These objects have been
  189.    ordered into groups as follows:
  190.  
  191.          o  Resolver Configuration Group
  192.  
  193.          o  Resolver Counter Group
  194.  
  195.          o  Resolver Lame Delegation Group
  196.  
  197.          o  Resolver Cache Group
  198.  
  199.          o  Resolver Negative Cache Group
  200.  
  201.          o  Resolver Optional Counter Group
  202.  
  203.    This information has been converted into a standard form using the
  204.    SNMPv2 SMI defined in [9].  For the most part, the descriptions are
  205.    influenced by the DNS related RFCs noted above.  For example, the
  206.    descriptions for counters used for the various types of queries of
  207.    DNS records are influenced by the definitions used for the various
  208.    record types found in [2].
  209.  
  210. 3.4.  Textual Conventions
  211.  
  212.    Several conceptual data types have been introduced as a textual
  213.    conventions in the DNS Server MIB document and have been imported
  214.    into this MIB module.  These additions will facilitate the common
  215.    understanding of information used by the DNS.  No changes to the SMI
  216.    or the SNMP are necessary to support these conventions.
  217.  
  218.    Readers familiar with MIBs designed to manage entities in the lower
  219.    layers of the Internet protocol suite may be surprised at the number
  220.    of non-enumerated integers used in this MIB to represent values such
  221.    as DNS RR class and type numbers.  The reason for this choice is
  222.    simple: the DNS itself is designed as an extensible protocol,
  223.  
  224.  
  225.  
  226. Austein & Saperia                                               [Page 4]
  227.  
  228. RFC 1612                    DNS Resolver MIB                    May 1994
  229.  
  230.  
  231.    allowing new classes and types of resource records to be added to the
  232.    protocol without recoding the core DNS software.  Using non-
  233.    enumerated integers to represent these data types in this MIB allows
  234.    the MIB to accommodate these changes as well.
  235.  
  236. 4.  Definitions
  237.  
  238.    DNS-RESOLVER-MIB DEFINITIONS ::= BEGIN
  239.  
  240.    IMPORTS
  241.        MODULE-IDENTITY, OBJECT-TYPE, IpAddress, Counter32, Integer32
  242.            FROM SNMPv2-SMI
  243.        TEXTUAL-CONVENTION, RowStatus, DisplayString
  244.            FROM SNMPv2-TC
  245.        MODULE-COMPLIANCE, OBJECT-GROUP
  246.            FROM SNMPv2-CONF
  247.        dns, DnsName, DnsNameAsIndex, DnsClass, DnsType, DnsQClass,
  248.        DnsQType, DnsTime, DnsOpCode, DnsRespCode
  249.            FROM DNS-SERVER-MIB;
  250.  
  251.    -- DNS Resolver MIB
  252.  
  253.    dnsResMIB MODULE-IDENTITY
  254.        LAST-UPDATED "9401282250Z"
  255.        ORGANIZATION "IETF DNS Working Group"
  256.        CONTACT-INFO
  257.                "       Rob Austein
  258.                Postal: Epilogue Technology Corporation
  259.                        268 Main Street, Suite 283
  260.                        North Reading, MA 10864
  261.                        US
  262.                   Tel: +1 617 245 0804
  263.                   Fax: +1 617 245 8122
  264.                E-Mail: sra@epilogue.com
  265.  
  266.                        Jon Saperia
  267.                Postal: Digital Equipment Corporation
  268.                        110 Spit Brook Road
  269.                        ZKO1-3/H18
  270.                        Nashua, NH 03062-2698
  271.                        US
  272.                   Tel: +1 603 881 0480
  273.                   Fax: +1 603 881 0120
  274.                E-mail: saperia@zko.dec.com"
  275.        DESCRIPTION
  276.                "The MIB module for entities implementing the client
  277.                (resolver) side of the Domain Name System (DNS)
  278.                protocol."
  279.  
  280.  
  281.  
  282. Austein & Saperia                                               [Page 5]
  283.  
  284. RFC 1612                    DNS Resolver MIB                    May 1994
  285.  
  286.  
  287.        ::= { dns 2 }
  288.  
  289.    dnsResMIBObjects        OBJECT IDENTIFIER ::= { dnsResMIB 1 }
  290.  
  291.    -- (Old-style) groups in the DNS resolver MIB.
  292.  
  293.    dnsResConfig            OBJECT IDENTIFIER ::= { dnsResMIBObjects 1 }
  294.    dnsResCounter           OBJECT IDENTIFIER ::= { dnsResMIBObjects 2 }
  295.    dnsResLameDelegation    OBJECT IDENTIFIER ::= { dnsResMIBObjects 3 }
  296.    dnsResCache             OBJECT IDENTIFIER ::= { dnsResMIBObjects 4 }
  297.    dnsResNCache            OBJECT IDENTIFIER ::= { dnsResMIBObjects 5 }
  298.    dnsResOptCounter        OBJECT IDENTIFIER ::= { dnsResMIBObjects 6 }
  299.  
  300.  
  301.    -- Resolver Configuration Group
  302.  
  303.    dnsResConfigImplementIdent OBJECT-TYPE
  304.        SYNTAX      DisplayString
  305.        MAX-ACCESS  read-only
  306.        STATUS      current
  307.        DESCRIPTION
  308.                "The implementation identification string for the
  309.                resolver software in use on the system, for example;
  310.                `RES-2.1'"
  311.        ::= { dnsResConfig 1 }
  312.  
  313.    dnsResConfigService OBJECT-TYPE
  314.        SYNTAX      INTEGER { recursiveOnly(1),
  315.                              iterativeOnly(2),
  316.                              recursiveAndIterative(3) }
  317.        MAX-ACCESS  read-only
  318.        STATUS      current
  319.        DESCRIPTION
  320.                "Kind of DNS resolution service provided:
  321.  
  322.                recursiveOnly(1) indicates a stub resolver.
  323.  
  324.                iterativeOnly(2) indicates a normal full service
  325.                resolver.
  326.  
  327.                recursiveAndIterative(3) indicates a full-service
  328.                resolver which performs a mix of recursive and iterative
  329.                queries."
  330.         ::= { dnsResConfig 2 }
  331.  
  332.    dnsResConfigMaxCnames OBJECT-TYPE
  333.        SYNTAX      INTEGER (0..2147483647)
  334.        MAX-ACCESS  read-write
  335.  
  336.  
  337.  
  338. Austein & Saperia                                               [Page 6]
  339.  
  340. RFC 1612                    DNS Resolver MIB                    May 1994
  341.  
  342.  
  343.        STATUS      current
  344.        DESCRIPTION
  345.                "Limit on how many CNAMEs the resolver should allow
  346.                before deciding that there's a CNAME loop.  Zero means
  347.                that resolver has no explicit CNAME limit."
  348.        REFERENCE
  349.                "RFC-1035 section 7.1."
  350.        ::= { dnsResConfig 3 }
  351.  
  352.    -- DNS Resolver Safety Belt Table
  353.  
  354.    dnsResConfigSbeltTable OBJECT-TYPE
  355.        SYNTAX      SEQUENCE OF DnsResConfigSbeltEntry
  356.        MAX-ACCESS  not-accessible
  357.        STATUS      current
  358.        DESCRIPTION
  359.                "Table of safety belt information used by the resolver
  360.                when it hasn't got any better idea of where to send a
  361.                query, such as when the resolver is booting or is a stub
  362.                resolver."
  363.        ::= { dnsResConfig 4 }
  364.  
  365.    dnsResConfigSbeltEntry OBJECT-TYPE
  366.        SYNTAX      DnsResConfigSbeltEntry
  367.        MAX-ACCESS  not-accessible
  368.        STATUS      current
  369.        DESCRIPTION
  370.                "An entry in the resolver's Sbelt table.
  371.                Rows may be created or deleted at any time by the DNS
  372.                resolver and by SNMP SET requests.  Whether the values
  373.                changed via SNMP are saved in stable storage across
  374.                `reset' operations is implementation-specific."
  375.        INDEX     { dnsResConfigSbeltAddr,
  376.                    dnsResConfigSbeltSubTree,
  377.                    dnsResConfigSbeltClass }
  378.        ::= { dnsResConfigSbeltTable 1 }
  379.  
  380.    DnsResConfigSbeltEntry ::=
  381.        SEQUENCE {
  382.            dnsResConfigSbeltAddr
  383.                IpAddress,
  384.            dnsResConfigSbeltName
  385.                DnsName,
  386.            dnsResConfigSbeltRecursion
  387.                INTEGER,
  388.            dnsResConfigSbeltPref
  389.                INTEGER,
  390.            dnsResConfigSbeltSubTree
  391.  
  392.  
  393.  
  394. Austein & Saperia                                               [Page 7]
  395.  
  396. RFC 1612                    DNS Resolver MIB                    May 1994
  397.  
  398.  
  399.                DnsNameAsIndex,
  400.            dnsResConfigSbeltClass
  401.                DnsClass,
  402.            dnsResConfigSbeltStatus
  403.                RowStatus
  404.        }
  405.  
  406.    dnsResConfigSbeltAddr OBJECT-TYPE
  407.        SYNTAX      IpAddress
  408.        MAX-ACCESS  not-accessible
  409.        STATUS      current
  410.        DESCRIPTION
  411.                "The IP address of the Sbelt name server identified by
  412.                this row of the table."
  413.        ::= { dnsResConfigSbeltEntry 1 }
  414.  
  415.    dnsResConfigSbeltName OBJECT-TYPE
  416.        SYNTAX      DnsName
  417.        MAX-ACCESS  read-create
  418.        STATUS      current
  419.        DESCRIPTION
  420.                "The DNS name of a Sbelt nameserver identified by this
  421.                row of the table.  A zero-length string indicates that
  422.                the name is not known by the resolver."
  423.        ::= { dnsResConfigSbeltEntry 2 }
  424.  
  425.    dnsResConfigSbeltRecursion OBJECT-TYPE
  426.        SYNTAX      INTEGER { iterative(1),
  427.                              recursive(2),
  428.                              recursiveAndIterative(3) }
  429.        MAX-ACCESS  read-create
  430.        STATUS      current
  431.        DESCRIPTION
  432.                "Kind of queries resolver will be sending to the name
  433.                server identified in this row of the table:
  434.  
  435.                iterative(1) indicates that resolver will be directing
  436.                iterative queries to this name server (RD bit turned
  437.                off).
  438.  
  439.                recursive(2) indicates that resolver will be directing
  440.                recursive queries to this name server (RD bit turned
  441.                on).
  442.  
  443.                recursiveAndIterative(3) indicates that the resolver
  444.                will be directing both recursive and iterative queries
  445.                to the server identified in this row of the table."
  446.         ::= { dnsResConfigSbeltEntry 3 }
  447.  
  448.  
  449.  
  450. Austein & Saperia                                               [Page 8]
  451.  
  452. RFC 1612                    DNS Resolver MIB                    May 1994
  453.  
  454.  
  455.    dnsResConfigSbeltPref OBJECT-TYPE
  456.        SYNTAX      INTEGER (0..2147483647)
  457.        MAX-ACCESS  read-create
  458.        STATUS      current
  459.        DESCRIPTION
  460.                "This value identifies the preference for the name server
  461.                identified in this row of the table.  The lower the
  462.                value, the more desirable the resolver considers this
  463.                server."
  464.         ::= { dnsResConfigSbeltEntry 4 }
  465.  
  466.    dnsResConfigSbeltSubTree OBJECT-TYPE
  467.        SYNTAX      DnsNameAsIndex
  468.        MAX-ACCESS  not-accessible
  469.        STATUS      current
  470.        DESCRIPTION
  471.                "Queries sent to the name server identified by this row
  472.                of the table are limited to those for names in the name
  473.                subtree identified by this variable.  If no such
  474.                limitation applies, the value of this variable is the
  475.                name of the root domain (a DNS name consisting of a
  476.                single zero octet)."
  477.        ::= { dnsResConfigSbeltEntry 5 }
  478.  
  479.    dnsResConfigSbeltClass OBJECT-TYPE
  480.        SYNTAX      DnsClass
  481.        MAX-ACCESS  not-accessible
  482.        STATUS      current
  483.        DESCRIPTION
  484.                "The class of DNS queries that will be sent to the server
  485.                identified by this row of the table."
  486.        ::= { dnsResConfigSbeltEntry 6 }
  487.  
  488.    dnsResConfigSbeltStatus OBJECT-TYPE
  489.        SYNTAX      RowStatus
  490.        MAX-ACCESS  read-create
  491.        STATUS      current
  492.        DESCRIPTION
  493.                "Row status column for this row of the Sbelt table."
  494.        ::= { dnsResConfigSbeltEntry 7 }
  495.  
  496.    dnsResConfigUpTime OBJECT-TYPE
  497.        SYNTAX      DnsTime
  498.        MAX-ACCESS  read-only
  499.        STATUS      current
  500.        DESCRIPTION
  501.                "If the resolver has a persistent state (e.g., a
  502.                process), this value will be the time elapsed since it
  503.  
  504.  
  505.  
  506. Austein & Saperia                                               [Page 9]
  507.  
  508. RFC 1612                    DNS Resolver MIB                    May 1994
  509.  
  510.  
  511.                started.  For software without persistant state, this
  512.                value will be 0."
  513.        ::= { dnsResConfig 5 }
  514.  
  515.    dnsResConfigResetTime OBJECT-TYPE
  516.        SYNTAX      DnsTime
  517.        MAX-ACCESS  read-only
  518.        STATUS      current
  519.        DESCRIPTION
  520.                "If the resolver has a persistent state (e.g., a process)
  521.                and supports a `reset' operation (e.g., can be told to
  522.                re-read configuration files), this value will be the
  523.                time elapsed since the last time the resolver was
  524.                `reset.'  For software that does not have persistence or
  525.                does not support a `reset' operation, this value will be
  526.                zero."
  527.        ::= { dnsResConfig 6 }
  528.  
  529.    dnsResConfigReset OBJECT-TYPE
  530.        SYNTAX      INTEGER { other(1),
  531.                              reset(2),
  532.                              initializing(3),
  533.                              running(4) }
  534.        MAX-ACCESS  read-write
  535.        STATUS      current
  536.        DESCRIPTION
  537.                "Status/action object to reinitialize any persistant
  538.                resolver state.  When set to reset(2), any persistant
  539.                resolver state (such as a process) is reinitialized as if
  540.                the resolver had just been started.  This value will
  541.                never be returned by a read operation.  When read, one of
  542.                the following values will be returned:
  543.                    other(1) - resolver in some unknown state;
  544.                    initializing(3) - resolver (re)initializing;
  545.                    running(4) - resolver currently running."
  546.        ::= { dnsResConfig 7 }
  547.  
  548.  
  549.    -- Resolver Counters Group
  550.  
  551.    -- Resolver Counter Table
  552.  
  553.    dnsResCounterByOpcodeTable OBJECT-TYPE
  554.        SYNTAX      SEQUENCE OF DnsResCounterByOpcodeEntry
  555.        MAX-ACCESS  not-accessible
  556.        STATUS      current
  557.        DESCRIPTION
  558.                "Table of the current count of resolver queries and
  559.  
  560.  
  561.  
  562. Austein & Saperia                                              [Page 10]
  563.  
  564. RFC 1612                    DNS Resolver MIB                    May 1994
  565.  
  566.  
  567.                answers."
  568.        ::= { dnsResCounter 3 }
  569.  
  570.    dnsResCounterByOpcodeEntry OBJECT-TYPE
  571.        SYNTAX      DnsResCounterByOpcodeEntry
  572.        MAX-ACCESS  not-accessible
  573.        STATUS      current
  574.        DESCRIPTION
  575.                "Entry in the resolver counter table.  Entries are
  576.                indexed by DNS OpCode."
  577.        INDEX     { dnsResCounterByOpcodeCode }
  578.        ::= { dnsResCounterByOpcodeTable 1 }
  579.  
  580.    DnsResCounterByOpcodeEntry ::=
  581.        SEQUENCE {
  582.            dnsResCounterByOpcodeCode
  583.                DnsOpCode,
  584.            dnsResCounterByOpcodeQueries
  585.                Counter32,
  586.            dnsResCounterByOpcodeResponses
  587.                Counter32
  588.        }
  589.  
  590.    dnsResCounterByOpcodeCode OBJECT-TYPE
  591.        SYNTAX      DnsOpCode
  592.        MAX-ACCESS  not-accessible
  593.        STATUS      current
  594.        DESCRIPTION
  595.                "The index to this table.  The OpCodes that have already
  596.                been defined are found in RFC-1035."
  597.        REFERENCE
  598.                "RFC-1035 section 4.1.1."
  599.        ::= { dnsResCounterByOpcodeEntry 1 }
  600.  
  601.    dnsResCounterByOpcodeQueries OBJECT-TYPE
  602.        SYNTAX      Counter32
  603.        MAX-ACCESS  read-only
  604.        STATUS      current
  605.        DESCRIPTION
  606.                "Total number of queries that have sent out by the
  607.                resolver since initialization for the OpCode which is
  608.                the index to this row of the table."
  609.        ::= { dnsResCounterByOpcodeEntry 2 }
  610.  
  611.    dnsResCounterByOpcodeResponses OBJECT-TYPE
  612.        SYNTAX      Counter32
  613.        MAX-ACCESS  read-only
  614.        STATUS      current
  615.  
  616.  
  617.  
  618. Austein & Saperia                                              [Page 11]
  619.  
  620. RFC 1612                    DNS Resolver MIB                    May 1994
  621.  
  622.  
  623.        DESCRIPTION
  624.                "Total number of responses that have been received by the
  625.                resolver since initialization for the OpCode which is
  626.                the index to this row of the table."
  627.        ::= { dnsResCounterByOpcodeEntry 3 }
  628.  
  629.    -- Resolver Response Code Counter Table
  630.  
  631.    dnsResCounterByRcodeTable OBJECT-TYPE
  632.        SYNTAX      SEQUENCE OF DnsResCounterByRcodeEntry
  633.        MAX-ACCESS  not-accessible
  634.        STATUS      current
  635.        DESCRIPTION
  636.                "Table of the current count of responses to resolver
  637.                queries."
  638.        ::= { dnsResCounter 4 }
  639.  
  640.    dnsResCounterByRcodeEntry OBJECT-TYPE
  641.        SYNTAX      DnsResCounterByRcodeEntry
  642.        MAX-ACCESS  not-accessible
  643.        STATUS      current
  644.        DESCRIPTION
  645.                "Entry in the resolver response table.  Entries are
  646.                indexed by DNS response code."
  647.        INDEX     { dnsResCounterByRcodeCode }
  648.        ::= { dnsResCounterByRcodeTable 1 }
  649.  
  650.    DnsResCounterByRcodeEntry ::=
  651.        SEQUENCE {
  652.            dnsResCounterByRcodeCode
  653.                DnsRespCode,
  654.            dnsResCounterByRcodeResponses
  655.                Counter32
  656.        }
  657.  
  658.    dnsResCounterByRcodeCode OBJECT-TYPE
  659.        SYNTAX      DnsRespCode
  660.        MAX-ACCESS  not-accessible
  661.        STATUS      current
  662.        DESCRIPTION
  663.                "The index to this table.  The Response Codes that have
  664.                already been defined are found in RFC-1035."
  665.        REFERENCE
  666.                "RFC-1035 section 4.1.1."
  667.        ::= { dnsResCounterByRcodeEntry 1 }
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674. Austein & Saperia                                              [Page 12]
  675.  
  676. RFC 1612                    DNS Resolver MIB                    May 1994
  677.  
  678.  
  679.    dnsResCounterByRcodeResponses OBJECT-TYPE
  680.        SYNTAX      Counter32
  681.        MAX-ACCESS  read-only
  682.        STATUS      current
  683.        DESCRIPTION
  684.                "Number of responses the resolver has received for the
  685.                response code value which identifies this row of the
  686.                table."
  687.        ::= { dnsResCounterByRcodeEntry 2 }
  688.  
  689.    -- Additional DNS Resolver Counter Objects
  690.  
  691.    dnsResCounterNonAuthDataResps OBJECT-TYPE
  692.        SYNTAX      Counter32
  693.        MAX-ACCESS  read-only
  694.        STATUS      current
  695.        DESCRIPTION
  696.                "Number of requests made by the resolver for which a
  697.                non-authoritative answer (cached data) was received."
  698.        ::= { dnsResCounter 5 }
  699.  
  700.    dnsResCounterNonAuthNoDataResps OBJECT-TYPE
  701.        SYNTAX      Counter32
  702.        MAX-ACCESS  read-only
  703.        STATUS      current
  704.        DESCRIPTION
  705.                "Number of requests made by the resolver for which a
  706.                non-authoritative answer - no such data response (empty
  707.                answer) was received."
  708.        ::= { dnsResCounter 6 }
  709.  
  710.    dnsResCounterMartians OBJECT-TYPE
  711.        SYNTAX      Counter32
  712.        MAX-ACCESS  read-only
  713.        STATUS      current
  714.        DESCRIPTION
  715.                "Number of responses received which were received from
  716.                servers that the resolver does not think it asked."
  717.        ::= { dnsResCounter 7 }
  718.  
  719.    dnsResCounterRecdResponses OBJECT-TYPE
  720.        SYNTAX      Counter32
  721.        MAX-ACCESS  read-only
  722.        STATUS      current
  723.        DESCRIPTION
  724.                "Number of responses received to all queries."
  725.        ::= { dnsResCounter 8 }
  726.  
  727.  
  728.  
  729.  
  730. Austein & Saperia                                              [Page 13]
  731.  
  732. RFC 1612                    DNS Resolver MIB                    May 1994
  733.  
  734.  
  735.    dnsResCounterUnparseResps OBJECT-TYPE
  736.        SYNTAX      Counter32
  737.        MAX-ACCESS  read-only
  738.        STATUS      current
  739.        DESCRIPTION
  740.                "Number of responses received which were unparseable."
  741.        ::= { dnsResCounter 9 }
  742.  
  743.    dnsResCounterFallbacks OBJECT-TYPE
  744.        SYNTAX      Counter32
  745.        MAX-ACCESS  read-only
  746.        STATUS      current
  747.        DESCRIPTION
  748.                "Number of times the resolver had to fall back to its
  749.                seat belt information."
  750.        ::= { dnsResCounter 10 }
  751.  
  752.  
  753.    -- Lame Delegation Group
  754.  
  755.    dnsResLameDelegationOverflows OBJECT-TYPE
  756.        SYNTAX      Counter32
  757.        MAX-ACCESS  read-only
  758.        STATUS      current
  759.        DESCRIPTION
  760.                "Number of times the resolver attempted to add an entry
  761.                to the Lame Delegation table but was unable to for some
  762.                reason such as space constraints."
  763.        ::= { dnsResLameDelegation 1 }
  764.  
  765.    -- Lame Delegation Table
  766.  
  767.    dnsResLameDelegationTable OBJECT-TYPE
  768.        SYNTAX      SEQUENCE OF DnsResLameDelegationEntry
  769.        MAX-ACCESS  not-accessible
  770.        STATUS      current
  771.        DESCRIPTION
  772.                "Table of name servers returning lame delegations.
  773.  
  774.                A lame delegation has occured when a parent zone
  775.                delegates authority for a child zone to a server that
  776.                appears not to think that it is authoritative for the
  777.                child zone in question."
  778.        ::= { dnsResLameDelegation 2 }
  779.  
  780.    dnsResLameDelegationEntry OBJECT-TYPE
  781.        SYNTAX      DnsResLameDelegationEntry
  782.        MAX-ACCESS  not-accessible
  783.  
  784.  
  785.  
  786. Austein & Saperia                                              [Page 14]
  787.  
  788. RFC 1612                    DNS Resolver MIB                    May 1994
  789.  
  790.  
  791.        STATUS      current
  792.        DESCRIPTION
  793.                "Entry in lame delegation table.  Only the resolver may
  794.                create rows in this table.  SNMP SET requests may be used
  795.                to delete rows."
  796.        INDEX     { dnsResLameDelegationSource,
  797.                    dnsResLameDelegationName,
  798.                    dnsResLameDelegationClass }
  799.        ::= { dnsResLameDelegationTable 1 }
  800.  
  801.    DnsResLameDelegationEntry ::=
  802.        SEQUENCE {
  803.            dnsResLameDelegationSource
  804.                IpAddress,
  805.            dnsResLameDelegationName
  806.                DnsNameAsIndex,
  807.            dnsResLameDelegationClass
  808.                DnsClass,
  809.            dnsResLameDelegationCounts
  810.                Counter32,
  811.            dnsResLameDelegationStatus
  812.                RowStatus
  813.        }
  814.  
  815.    dnsResLameDelegationSource OBJECT-TYPE
  816.        SYNTAX      IpAddress
  817.        MAX-ACCESS  not-accessible
  818.        STATUS      current
  819.        DESCRIPTION
  820.                "Source of lame delegation."
  821.        ::= { dnsResLameDelegationEntry 1 }
  822.  
  823.    dnsResLameDelegationName OBJECT-TYPE
  824.        SYNTAX      DnsNameAsIndex
  825.        MAX-ACCESS  not-accessible
  826.        STATUS      current
  827.        DESCRIPTION
  828.                "DNS name for which lame delegation was received."
  829.        ::= { dnsResLameDelegationEntry 2 }
  830.  
  831.    dnsResLameDelegationClass OBJECT-TYPE
  832.        SYNTAX      DnsClass
  833.        MAX-ACCESS  not-accessible
  834.        STATUS      current
  835.        DESCRIPTION
  836.                "DNS class of received lame delegation."
  837.        ::= { dnsResLameDelegationEntry 3 }
  838.  
  839.  
  840.  
  841.  
  842. Austein & Saperia                                              [Page 15]
  843.  
  844. RFC 1612                    DNS Resolver MIB                    May 1994
  845.  
  846.  
  847.    dnsResLameDelegationCounts OBJECT-TYPE
  848.        SYNTAX      Counter32
  849.        MAX-ACCESS  read-only
  850.        STATUS      current
  851.        DESCRIPTION
  852.                "How many times this lame delegation has been received."
  853.        ::= { dnsResLameDelegationEntry 4 }
  854.  
  855.    dnsResLameDelegationStatus OBJECT-TYPE
  856.        SYNTAX      RowStatus
  857.        MAX-ACCESS  read-write
  858.        STATUS      current
  859.        DESCRIPTION
  860.                "Status column for the lame delegation table.  Since only
  861.                the agent (DNS resolver) creates rows in this table, the
  862.                only values that a manager may write to this variable
  863.                are active(1) and destroy(6)."
  864.        ::= { dnsResLameDelegationEntry 5 }
  865.  
  866.  
  867.    -- Resolver Cache Group
  868.  
  869.    dnsResCacheStatus OBJECT-TYPE
  870.        SYNTAX      INTEGER { enabled(1), disabled(2), clear(3) }
  871.        MAX-ACCESS  read-write
  872.        STATUS      current
  873.        DESCRIPTION
  874.                "Status/action for the resolver's cache.
  875.  
  876.                enabled(1) means that the use of the cache is allowed.
  877.                Query operations can return this state.
  878.  
  879.                disabled(2) means that the cache is not being used.
  880.                Query operations can return this state.
  881.  
  882.                Setting this variable to clear(3) deletes the entire
  883.                contents of the resolver's cache, but does not otherwise
  884.                change the resolver's state.  The status will retain its
  885.                previous value from before the clear operation (i.e.,
  886.                enabled(1) or disabled(2)).  The value of clear(3) can
  887.                NOT be returned by a query operation."
  888.        ::= { dnsResCache 1 }
  889.  
  890.    dnsResCacheMaxTTL OBJECT-TYPE
  891.        SYNTAX      DnsTime
  892.        MAX-ACCESS  read-write
  893.        STATUS      current
  894.        DESCRIPTION
  895.  
  896.  
  897.  
  898. Austein & Saperia                                              [Page 16]
  899.  
  900. RFC 1612                    DNS Resolver MIB                    May 1994
  901.  
  902.  
  903.                "Maximum Time-To-Live for RRs in this cache.  If the
  904.                resolver does not implement a TTL ceiling, the value of
  905.                this field should be zero."
  906.        ::= { dnsResCache 2 }
  907.  
  908.    dnsResCacheGoodCaches OBJECT-TYPE
  909.        SYNTAX      Counter32
  910.        MAX-ACCESS  read-only
  911.        STATUS      current
  912.        DESCRIPTION
  913.                "Number of RRs the resolver has cached successfully."
  914.        ::= { dnsResCache 3 }
  915.  
  916.    dnsResCacheBadCaches OBJECT-TYPE
  917.        SYNTAX      Counter32
  918.        MAX-ACCESS  read-only
  919.        STATUS      current
  920.        DESCRIPTION
  921.                "Number of RRs the resolver has refused to cache because
  922.                they appear to be dangerous or irrelevant.  E.g., RRs
  923.                with suspiciously high TTLs, unsolicited root
  924.                information, or that just don't appear to be relevant to
  925.                the question the resolver asked."
  926.        ::= { dnsResCache 4 }
  927.  
  928.    -- Resolver Cache Table
  929.  
  930.    dnsResCacheRRTable OBJECT-TYPE
  931.        SYNTAX      SEQUENCE OF DnsResCacheRREntry
  932.        MAX-ACCESS  not-accessible
  933.        STATUS      current
  934.        DESCRIPTION
  935.                "This table contains information about all the resource
  936.                records currently in the resolver's cache."
  937.        ::= { dnsResCache 5 }
  938.  
  939.    dnsResCacheRREntry OBJECT-TYPE
  940.        SYNTAX      DnsResCacheRREntry
  941.        MAX-ACCESS  not-accessible
  942.        STATUS      current
  943.        DESCRIPTION
  944.                "An entry in the resolvers's cache.  Rows may be created
  945.                only by the resolver.  SNMP SET requests may be used to
  946.                delete rows."
  947.        INDEX     { dnsResCacheRRName,
  948.                    dnsResCacheRRClass,
  949.                    dnsResCacheRRType,
  950.                    dnsResCacheRRIndex }
  951.  
  952.  
  953.  
  954. Austein & Saperia                                              [Page 17]
  955.  
  956. RFC 1612                    DNS Resolver MIB                    May 1994
  957.  
  958.  
  959.        ::= { dnsResCacheRRTable 1 }
  960.  
  961.    DnsResCacheRREntry ::=
  962.        SEQUENCE {
  963.            dnsResCacheRRName
  964.                DnsNameAsIndex,
  965.            dnsResCacheRRClass
  966.                DnsClass,
  967.            dnsResCacheRRType
  968.                DnsType,
  969.            dnsResCacheRRTTL
  970.                DnsTime,
  971.            dnsResCacheRRElapsedTTL
  972.                DnsTime,
  973.            dnsResCacheRRSource
  974.                IpAddress,
  975.            dnsResCacheRRData
  976.                OCTET STRING,
  977.            dnsResCacheRRStatus
  978.                RowStatus,
  979.            dnsResCacheRRIndex
  980.                Integer32,
  981.            dnsResCacheRRPrettyName
  982.                DnsName
  983.        }
  984.  
  985.    dnsResCacheRRName OBJECT-TYPE
  986.        SYNTAX      DnsNameAsIndex
  987.        MAX-ACCESS  not-accessible
  988.        STATUS      current
  989.        DESCRIPTION
  990.                "Owner name of the Resource Record in the cache which is
  991.                identified in this row of the table.  As described in
  992.                RFC-1034, the owner of the record is the domain name
  993.                were the RR is found."
  994.        REFERENCE
  995.                "RFC-1034 section 3.6."
  996.        ::= { dnsResCacheRREntry 1 }
  997.  
  998.    dnsResCacheRRClass OBJECT-TYPE
  999.        SYNTAX      DnsClass
  1000.        MAX-ACCESS  not-accessible
  1001.        STATUS      current
  1002.        DESCRIPTION
  1003.                "DNS class of the Resource Record in the cache which is
  1004.                identified in this row of the table."
  1005.        ::= { dnsResCacheRREntry 2 }
  1006.  
  1007.  
  1008.  
  1009.  
  1010. Austein & Saperia                                              [Page 18]
  1011.  
  1012. RFC 1612                    DNS Resolver MIB                    May 1994
  1013.  
  1014.  
  1015.    dnsResCacheRRType OBJECT-TYPE
  1016.        SYNTAX      DnsType
  1017.        MAX-ACCESS  not-accessible
  1018.        STATUS      current
  1019.        DESCRIPTION
  1020.                "DNS type of the Resource Record in the cache which is
  1021.                identified in this row of the table."
  1022.        ::= { dnsResCacheRREntry 3 }
  1023.  
  1024.    dnsResCacheRRTTL OBJECT-TYPE
  1025.        SYNTAX      DnsTime
  1026.        MAX-ACCESS  read-only
  1027.        STATUS      current
  1028.        DESCRIPTION
  1029.                "Time-To-Live of RR in DNS cache.  This is the initial
  1030.                TTL value which was received with the RR when it was
  1031.                originally received."
  1032.        ::= { dnsResCacheRREntry 4 }
  1033.  
  1034.    dnsResCacheRRElapsedTTL OBJECT-TYPE
  1035.        SYNTAX      DnsTime
  1036.        MAX-ACCESS  read-only
  1037.        STATUS      current
  1038.        DESCRIPTION
  1039.                "Elapsed seconds since RR was received."
  1040.        ::= { dnsResCacheRREntry 5 }
  1041.  
  1042.    dnsResCacheRRSource OBJECT-TYPE
  1043.        SYNTAX      IpAddress
  1044.        MAX-ACCESS  read-only
  1045.        STATUS      current
  1046.        DESCRIPTION
  1047.                "Host from which RR was received, 0.0.0.0 if unknown."
  1048.        ::= { dnsResCacheRREntry 6 }
  1049.  
  1050.    dnsResCacheRRData OBJECT-TYPE
  1051.        SYNTAX      OCTET STRING
  1052.        MAX-ACCESS  read-only
  1053.        STATUS      current
  1054.        DESCRIPTION
  1055.                "RDATA portion of a cached RR.  The value is in the
  1056.                format defined for the particular DNS class and type of
  1057.                the resource record."
  1058.        REFERENCE
  1059.                "RFC-1035 section 3.2.1."
  1060.        ::= { dnsResCacheRREntry 7 }
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066. Austein & Saperia                                              [Page 19]
  1067.  
  1068. RFC 1612                    DNS Resolver MIB                    May 1994
  1069.  
  1070.  
  1071.    dnsResCacheRRStatus OBJECT-TYPE
  1072.        SYNTAX      RowStatus
  1073.        MAX-ACCESS  read-write
  1074.        STATUS      current
  1075.        DESCRIPTION
  1076.                "Status column for the resolver cache table.  Since only
  1077.                the agent (DNS resolver) creates rows in this table, the
  1078.                only values that a manager may write to this variable
  1079.                are active(1) and destroy(6)."
  1080.        ::= { dnsResCacheRREntry 8 }
  1081.  
  1082.    dnsResCacheRRIndex OBJECT-TYPE
  1083.        SYNTAX      Integer32
  1084.        MAX-ACCESS  not-accessible
  1085.        STATUS      current
  1086.        DESCRIPTION
  1087.                "A value which makes entries in the table unique when the
  1088.                other index values (dnsResCacheRRName,
  1089.                dnsResCacheRRClass, and dnsResCacheRRType) do not
  1090.                provide a unique index."
  1091.        ::= { dnsResCacheRREntry 9 }
  1092.  
  1093.    dnsResCacheRRPrettyName OBJECT-TYPE
  1094.        SYNTAX      DnsName
  1095.        MAX-ACCESS  read-only
  1096.        STATUS      current
  1097.        DESCRIPTION
  1098.                "Name of the RR at this row in the table.  This is
  1099.                identical to the dnsResCacheRRName variable, except that
  1100.                character case is preserved in this variable, per DNS
  1101.                conventions."
  1102.        REFERENCE
  1103.                "RFC-1035 section 2.3.3."
  1104.        ::= { dnsResCacheRREntry 10 }
  1105.  
  1106.    -- Resolver Negative Cache Group
  1107.  
  1108.    dnsResNCacheStatus OBJECT-TYPE
  1109.        SYNTAX      INTEGER { enabled(1), disabled(2), clear(3) }
  1110.        MAX-ACCESS  read-write
  1111.        STATUS      current
  1112.        DESCRIPTION
  1113.                "Status/action for the resolver's negative response
  1114.                cache.
  1115.  
  1116.                enabled(1) means that the use of the negative response
  1117.                cache is allowed.  Query operations can return this
  1118.                state.
  1119.  
  1120.  
  1121.  
  1122. Austein & Saperia                                              [Page 20]
  1123.  
  1124. RFC 1612                    DNS Resolver MIB                    May 1994
  1125.  
  1126.  
  1127.                disabled(2) means that the negative response cache is
  1128.                not being used.  Query operations can return this state.
  1129.  
  1130.                Setting this variable to clear(3) deletes the entire
  1131.                contents of the resolver's negative response cache.  The
  1132.                status will retain its previous value from before the
  1133.                clear operation (i.e., enabled(1) or disabled(2)).  The
  1134.                value of clear(3) can NOT be returned by a query
  1135.                operation."
  1136.        ::= { dnsResNCache 1 }
  1137.  
  1138.    dnsResNCacheMaxTTL OBJECT-TYPE
  1139.        SYNTAX      DnsTime
  1140.        MAX-ACCESS  read-write
  1141.        STATUS      current
  1142.        DESCRIPTION
  1143.                "Maximum Time-To-Live for cached authoritative errors.
  1144.                If the resolver does not implement a TTL ceiling, the
  1145.                value of this field should be zero."
  1146.        ::= { dnsResNCache 2 }
  1147.  
  1148.    dnsResNCacheGoodNCaches OBJECT-TYPE
  1149.        SYNTAX      Counter32
  1150.        MAX-ACCESS  read-only
  1151.        STATUS      current
  1152.        DESCRIPTION
  1153.                "Number of authoritative errors the resolver has cached
  1154.                successfully."
  1155.        ::= { dnsResNCache 3 }
  1156.  
  1157.    dnsResNCacheBadNCaches OBJECT-TYPE
  1158.        SYNTAX      Counter32
  1159.        MAX-ACCESS  read-only
  1160.        STATUS      current
  1161.        DESCRIPTION
  1162.                "Number of authoritative errors the resolver would have
  1163.                liked to cache but was unable to because the appropriate
  1164.                SOA RR was not supplied or looked suspicious."
  1165.        REFERENCE
  1166.                "RFC-1034 section 4.3.4."
  1167.        ::= { dnsResNCache 4 }
  1168.  
  1169.    -- Resolver Negative Cache Table
  1170.  
  1171.    dnsResNCacheErrTable OBJECT-TYPE
  1172.        SYNTAX      SEQUENCE OF DnsResNCacheErrEntry
  1173.        MAX-ACCESS  not-accessible
  1174.        STATUS      current
  1175.  
  1176.  
  1177.  
  1178. Austein & Saperia                                              [Page 21]
  1179.  
  1180. RFC 1612                    DNS Resolver MIB                    May 1994
  1181.  
  1182.  
  1183.        DESCRIPTION
  1184.                "The resolver's negative response cache.  This table
  1185.                contains information about authoritative errors that
  1186.                have been cached by the resolver."
  1187.        ::= { dnsResNCache 5 }
  1188.  
  1189.    dnsResNCacheErrEntry OBJECT-TYPE
  1190.        SYNTAX      DnsResNCacheErrEntry
  1191.        MAX-ACCESS  not-accessible
  1192.        STATUS      current
  1193.        DESCRIPTION
  1194.                "An entry in the resolver's negative response cache
  1195.                table.  Only the resolver can create rows.  SNMP SET
  1196.                requests may be used to delete rows."
  1197.        INDEX     { dnsResNCacheErrQName,
  1198.                    dnsResNCacheErrQClass,
  1199.                    dnsResNCacheErrQType,
  1200.                    dnsResNCacheErrIndex }
  1201.        ::= { dnsResNCacheErrTable 1 }
  1202.  
  1203.    DnsResNCacheErrEntry ::=
  1204.        SEQUENCE {
  1205.            dnsResNCacheErrQName
  1206.                DnsNameAsIndex,
  1207.            dnsResNCacheErrQClass
  1208.                DnsQClass,
  1209.            dnsResNCacheErrQType
  1210.                DnsQType,
  1211.            dnsResNCacheErrTTL
  1212.                DnsTime,
  1213.            dnsResNCacheErrElapsedTTL
  1214.                DnsTime,
  1215.            dnsResNCacheErrSource
  1216.                IpAddress,
  1217.            dnsResNCacheErrCode
  1218.                INTEGER,
  1219.            dnsResNCacheErrStatus
  1220.                RowStatus,
  1221.            dnsResNCacheErrIndex
  1222.                Integer32,
  1223.            dnsResNCacheErrPrettyName
  1224.                DnsName
  1225.        }
  1226.  
  1227.    dnsResNCacheErrQName OBJECT-TYPE
  1228.        SYNTAX      DnsNameAsIndex
  1229.        MAX-ACCESS  not-accessible
  1230.        STATUS      current
  1231.  
  1232.  
  1233.  
  1234. Austein & Saperia                                              [Page 22]
  1235.  
  1236. RFC 1612                    DNS Resolver MIB                    May 1994
  1237.  
  1238.  
  1239.        DESCRIPTION
  1240.                "QNAME associated with a cached authoritative error."
  1241.        REFERENCE
  1242.                "RFC-1034 section 3.7.1."
  1243.        ::= { dnsResNCacheErrEntry 1 }
  1244.  
  1245.    dnsResNCacheErrQClass OBJECT-TYPE
  1246.        SYNTAX      DnsQClass
  1247.        MAX-ACCESS  not-accessible
  1248.        STATUS      current
  1249.        DESCRIPTION
  1250.                "DNS QCLASS associated with a cached authoritative
  1251.                error."
  1252.        ::= { dnsResNCacheErrEntry 2 }
  1253.  
  1254.    dnsResNCacheErrQType OBJECT-TYPE
  1255.        SYNTAX      DnsQType
  1256.        MAX-ACCESS  not-accessible
  1257.        STATUS      current
  1258.        DESCRIPTION
  1259.                "DNS QTYPE associated with a cached authoritative error."
  1260.        ::= { dnsResNCacheErrEntry 3 }
  1261.  
  1262.    dnsResNCacheErrTTL OBJECT-TYPE
  1263.        SYNTAX      DnsTime
  1264.        MAX-ACCESS  read-only
  1265.        STATUS      current
  1266.        DESCRIPTION
  1267.                "Time-To-Live of a cached authoritative error at the time
  1268.                of the error, it should not be decremented by the number
  1269.                of seconds since it was received.  This should be the
  1270.                TTL as copied from the MINIMUM field of the SOA that
  1271.                accompanied the authoritative error, or a smaller value
  1272.                if the resolver implements a ceiling on negative
  1273.                response cache TTLs."
  1274.        REFERENCE
  1275.                "RFC-1034 section 4.3.4."
  1276.        ::= { dnsResNCacheErrEntry 4 }
  1277.  
  1278.    dnsResNCacheErrElapsedTTL OBJECT-TYPE
  1279.        SYNTAX      DnsTime
  1280.        MAX-ACCESS  read-only
  1281.        STATUS      current
  1282.        DESCRIPTION
  1283.                "Elapsed seconds since authoritative error was received."
  1284.        ::= { dnsResNCacheErrEntry 5 }
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290. Austein & Saperia                                              [Page 23]
  1291.  
  1292. RFC 1612                    DNS Resolver MIB                    May 1994
  1293.  
  1294.  
  1295.    dnsResNCacheErrSource OBJECT-TYPE
  1296.        SYNTAX      IpAddress
  1297.        MAX-ACCESS  read-only
  1298.        STATUS      current
  1299.        DESCRIPTION
  1300.                "Host which sent the authoritative error, 0.0.0.0 if
  1301.                unknown."
  1302.        ::= { dnsResNCacheErrEntry 6 }
  1303.  
  1304.    dnsResNCacheErrCode OBJECT-TYPE
  1305.        SYNTAX      INTEGER { nonexistantName(1), noData(2), other(3) }
  1306.        MAX-ACCESS  read-only
  1307.        STATUS      current
  1308.        DESCRIPTION
  1309.                "The authoritative error that has been cached:
  1310.  
  1311.                nonexistantName(1) indicates an authoritative name error
  1312.                (RCODE = 3).
  1313.  
  1314.                noData(2) indicates an authoritative response with no
  1315.                error (RCODE = 0) and no relevant data.
  1316.  
  1317.                other(3) indicates some other cached authoritative
  1318.                error.  At present, no such errors are known to exist."
  1319.        ::= { dnsResNCacheErrEntry 7 }
  1320.  
  1321.    dnsResNCacheErrStatus OBJECT-TYPE
  1322.        SYNTAX      RowStatus
  1323.        MAX-ACCESS  read-write
  1324.        STATUS      current
  1325.        DESCRIPTION
  1326.                "Status column for the resolver negative response cache
  1327.                table.  Since only the agent (DNS resolver) creates rows
  1328.                in this table, the only values that a manager may write
  1329.                to this variable are active(1) and destroy(6)."
  1330.        ::= { dnsResNCacheErrEntry 8 }
  1331.  
  1332.    dnsResNCacheErrIndex OBJECT-TYPE
  1333.        SYNTAX      Integer32
  1334.        MAX-ACCESS  read-only
  1335.        STATUS      current
  1336.        DESCRIPTION
  1337.                "A value which makes entries in the table unique when the
  1338.                other index values (dnsResNCacheErrQName,
  1339.                dnsResNCacheErrQClass, and dnsResNCacheErrQType) do not
  1340.                provide a unique index."
  1341.        ::= { dnsResNCacheErrEntry 9 }
  1342.  
  1343.  
  1344.  
  1345.  
  1346. Austein & Saperia                                              [Page 24]
  1347.  
  1348. RFC 1612                    DNS Resolver MIB                    May 1994
  1349.  
  1350.  
  1351.    dnsResNCacheErrPrettyName OBJECT-TYPE
  1352.        SYNTAX      DnsName
  1353.        MAX-ACCESS  read-only
  1354.        STATUS      current
  1355.        DESCRIPTION
  1356.                "QNAME associated with this row in the table.  This is
  1357.                identical to the dnsResNCacheErrQName variable, except
  1358.                that character case is preserved in this variable, per
  1359.                DNS conventions."
  1360.        REFERENCE
  1361.                "RFC-1035 section 2.3.3."
  1362.        ::= { dnsResNCacheErrEntry 10 }
  1363.  
  1364.  
  1365.    -- Resolver Optional Counters Group
  1366.  
  1367.    dnsResOptCounterReferals OBJECT-TYPE
  1368.        SYNTAX      Counter32
  1369.        MAX-ACCESS  read-only
  1370.        STATUS      current
  1371.        DESCRIPTION
  1372.                "Number of responses which were received from servers
  1373.                redirecting query to another server."
  1374.        ::= { dnsResOptCounter 1 }
  1375.  
  1376.    dnsResOptCounterRetrans OBJECT-TYPE
  1377.        SYNTAX      Counter32
  1378.        MAX-ACCESS  read-only
  1379.        STATUS      current
  1380.        DESCRIPTION
  1381.                "Number requests retransmitted for all reasons."
  1382.        ::= { dnsResOptCounter 2 }
  1383.  
  1384.    dnsResOptCounterNoResponses OBJECT-TYPE
  1385.        SYNTAX      Counter32
  1386.        MAX-ACCESS  read-only
  1387.        STATUS      current
  1388.        DESCRIPTION
  1389.                "Number of queries that were retransmitted because of no
  1390.                response."
  1391.        ::= { dnsResOptCounter 3 }
  1392.  
  1393.    dnsResOptCounterRootRetrans OBJECT-TYPE
  1394.        SYNTAX      Counter32
  1395.        MAX-ACCESS  read-only
  1396.        STATUS      current
  1397.        DESCRIPTION
  1398.                "Number of queries that were retransmitted that were to
  1399.  
  1400.  
  1401.  
  1402. Austein & Saperia                                              [Page 25]
  1403.  
  1404. RFC 1612                    DNS Resolver MIB                    May 1994
  1405.  
  1406.  
  1407.                root servers."
  1408.        ::= { dnsResOptCounter 4 }
  1409.  
  1410.    dnsResOptCounterInternals OBJECT-TYPE
  1411.        SYNTAX      Counter32
  1412.        MAX-ACCESS  read-only
  1413.        STATUS      current
  1414.        DESCRIPTION
  1415.                "Number of requests internally generated by the
  1416.                resolver."
  1417.        ::= { dnsResOptCounter 5 }
  1418.  
  1419.    dnsResOptCounterInternalTimeOuts OBJECT-TYPE
  1420.        SYNTAX      Counter32
  1421.        MAX-ACCESS  read-only
  1422.        STATUS      current
  1423.        DESCRIPTION
  1424.                "Number of requests internally generated which timed
  1425.                out."
  1426.        ::= { dnsResOptCounter 6 }
  1427.  
  1428.  
  1429.    -- SNMPv2 groups.
  1430.  
  1431.    dnsResMIBGroups         OBJECT IDENTIFIER ::= { dnsResMIB 2 }
  1432.  
  1433.    dnsResConfigGroup OBJECT-GROUP
  1434.        OBJECTS   { dnsResConfigImplementIdent,
  1435.                    dnsResConfigService,
  1436.                    dnsResConfigMaxCnames,
  1437.                    dnsResConfigSbeltAddr,
  1438.                    dnsResConfigSbeltName,
  1439.                    dnsResConfigSbeltRecursion,
  1440.                    dnsResConfigSbeltPref,
  1441.                    dnsResConfigSbeltSubTree,
  1442.                    dnsResConfigSbeltClass,
  1443.                    dnsResConfigSbeltStatus,
  1444.                    dnsResConfigUpTime,
  1445.                    dnsResConfigResetTime }
  1446.        STATUS      current
  1447.        DESCRIPTION
  1448.                "A collection of objects providing basic configuration
  1449.                information for a DNS resolver implementation."
  1450.        ::= { dnsResMIBGroups 1 }
  1451.  
  1452.    dnsResCounterGroup OBJECT-GROUP
  1453.        OBJECTS   { dnsResCounterByOpcodeCode,
  1454.                    dnsResCounterByOpcodeQueries,
  1455.  
  1456.  
  1457.  
  1458. Austein & Saperia                                              [Page 26]
  1459.  
  1460. RFC 1612                    DNS Resolver MIB                    May 1994
  1461.  
  1462.  
  1463.                    dnsResCounterByOpcodeResponses,
  1464.                    dnsResCounterByRcodeCode,
  1465.                    dnsResCounterByRcodeResponses,
  1466.                    dnsResCounterNonAuthDataResps,
  1467.                    dnsResCounterNonAuthNoDataResps,
  1468.                    dnsResCounterMartians,
  1469.                    dnsResCounterRecdResponses,
  1470.                    dnsResCounterUnparseResps,
  1471.                    dnsResCounterFallbacks }
  1472.        STATUS      current
  1473.        DESCRIPTION
  1474.                "A collection of objects providing basic instrumentation
  1475.                of a DNS resolver implementation."
  1476.        ::= { dnsResMIBGroups 2 }
  1477.  
  1478.    dnsResLameDelegationGroup OBJECT-GROUP
  1479.        OBJECTS   { dnsResLameDelegationOverflows,
  1480.                    dnsResLameDelegationSource,
  1481.                    dnsResLameDelegationName,
  1482.                    dnsResLameDelegationClass,
  1483.                    dnsResLameDelegationCounts,
  1484.                    dnsResLameDelegationStatus }
  1485.        STATUS      current
  1486.        DESCRIPTION
  1487.                "A collection of objects providing instrumentation of
  1488.                `lame delegation' failures."
  1489.        ::= { dnsResMIBGroups 3 }
  1490.  
  1491.  
  1492.    dnsResCacheGroup OBJECT-GROUP
  1493.        OBJECTS   { dnsResCacheStatus,
  1494.                    dnsResCacheMaxTTL,
  1495.                    dnsResCacheGoodCaches,
  1496.                    dnsResCacheBadCaches,
  1497.                    dnsResCacheRRName,
  1498.                    dnsResCacheRRClass,
  1499.                    dnsResCacheRRType,
  1500.                    dnsResCacheRRTTL,
  1501.                    dnsResCacheRRElapsedTTL,
  1502.                    dnsResCacheRRSource,
  1503.                    dnsResCacheRRData,
  1504.                    dnsResCacheRRStatus,
  1505.                    dnsResCacheRRIndex,
  1506.                    dnsResCacheRRPrettyName }
  1507.        STATUS      current
  1508.        DESCRIPTION
  1509.                "A collection of objects providing access to and control
  1510.                of a DNS resolver's cache."
  1511.  
  1512.  
  1513.  
  1514. Austein & Saperia                                              [Page 27]
  1515.  
  1516. RFC 1612                    DNS Resolver MIB                    May 1994
  1517.  
  1518.  
  1519.        ::= { dnsResMIBGroups 4 }
  1520.  
  1521.    dnsResNCacheGroup OBJECT-GROUP
  1522.        OBJECTS   { dnsResNCacheStatus,
  1523.                    dnsResNCacheMaxTTL,
  1524.                    dnsResNCacheGoodNCaches,
  1525.                    dnsResNCacheBadNCaches,
  1526.                    dnsResNCacheErrQName,
  1527.                    dnsResNCacheErrQClass,
  1528.                    dnsResNCacheErrQType,
  1529.                    dnsResNCacheErrTTL,
  1530.                    dnsResNCacheErrElapsedTTL,
  1531.                    dnsResNCacheErrSource,
  1532.                    dnsResNCacheErrCode,
  1533.                    dnsResNCacheErrStatus,
  1534.                    dnsResNCacheErrIndex,
  1535.                    dnsResNCacheErrPrettyName }
  1536.        STATUS      current
  1537.        DESCRIPTION
  1538.                "A collection of objects providing access to and control
  1539.                of a DNS resolver's negative response cache."
  1540.        ::= { dnsResMIBGroups 5 }
  1541.  
  1542.    dnsResOptCounterGroup OBJECT-GROUP
  1543.        OBJECTS   { dnsResOptCounterReferals,
  1544.                    dnsResOptCounterRetrans,
  1545.                    dnsResOptCounterNoResponses,
  1546.                    dnsResOptCounterRootRetrans,
  1547.                    dnsResOptCounterInternals,
  1548.                    dnsResOptCounterInternalTimeOuts }
  1549.        STATUS      current
  1550.        DESCRIPTION
  1551.                "A collection of objects providing further
  1552.                instrumentation applicable to many but not all DNS
  1553.                resolvers."
  1554.        ::= { dnsResMIBGroups 6 }
  1555.  
  1556.  
  1557.    -- Compliances.
  1558.  
  1559.    dnsResMIBCompliances OBJECT IDENTIFIER ::= { dnsResMIB 3 }
  1560.  
  1561.    dnsResMIBCompliance MODULE-COMPLIANCE
  1562.        STATUS      current
  1563.        DESCRIPTION
  1564.                "The compliance statement for agents implementing the DNS
  1565.                resolver MIB extensions."
  1566.        MODULE -- This MIB module
  1567.  
  1568.  
  1569.  
  1570. Austein & Saperia                                              [Page 28]
  1571.  
  1572. RFC 1612                    DNS Resolver MIB                    May 1994
  1573.  
  1574.  
  1575.            MANDATORY-GROUPS { dnsResConfigGroup, dnsResCounterGroup }
  1576.            GROUP   dnsResCacheGroup
  1577.            DESCRIPTION
  1578.                "The resolver cache group is mandatory for resolvers that
  1579.                implement a cache."
  1580.            GROUP   dnsResNCacheGroup
  1581.            DESCRIPTION
  1582.                "The resolver negative cache group is mandatory for
  1583.                resolvers that implement a negative response cache."
  1584.            GROUP   dnsResLameDelegationGroup
  1585.            DESCRIPTION
  1586.                "The lame delegation group is unconditionally optional."
  1587.            GROUP   dnsResOptCounterGroup
  1588.            DESCRIPTION
  1589.                "The optional counters group is unconditionally
  1590.                optional."
  1591.            OBJECT  dnsResConfigMaxCnames
  1592.            MIN-ACCESS      read-only
  1593.            DESCRIPTION
  1594.                "This object need not be writable."
  1595.            OBJECT  dnsResConfigSbeltName
  1596.            MIN-ACCESS      read-only
  1597.            DESCRIPTION
  1598.                "This object need not be writable."
  1599.            OBJECT  dnsResConfigSbeltRecursion
  1600.            MIN-ACCESS      read-only
  1601.            DESCRIPTION
  1602.                "This object need not be writable."
  1603.            OBJECT  dnsResConfigSbeltPref
  1604.            MIN-ACCESS      read-only
  1605.            DESCRIPTION
  1606.                "This object need not be writable."
  1607.            OBJECT  dnsResConfigReset
  1608.            MIN-ACCESS      read-only
  1609.            DESCRIPTION
  1610.                "This object need not be writable."
  1611.            OBJECT  dnsResCacheStatus
  1612.            MIN-ACCESS      read-only
  1613.            DESCRIPTION
  1614.                "This object need not be writable."
  1615.            OBJECT  dnsResCacheMaxTTL
  1616.            MIN-ACCESS      read-only
  1617.            DESCRIPTION
  1618.                "This object need not be writable."
  1619.            OBJECT  dnsResNCacheStatus
  1620.            MIN-ACCESS      read-only
  1621.            DESCRIPTION
  1622.                "This object need not be writable."
  1623.  
  1624.  
  1625.  
  1626. Austein & Saperia                                              [Page 29]
  1627.  
  1628. RFC 1612                    DNS Resolver MIB                    May 1994
  1629.  
  1630.  
  1631.            OBJECT  dnsResNCacheMaxTTL
  1632.            MIN-ACCESS      read-only
  1633.            DESCRIPTION
  1634.                "This object need not be writable."
  1635.        ::= { dnsResMIBCompliances 1 }
  1636.  
  1637.    END
  1638.  
  1639. 5.  Acknowledgements
  1640.  
  1641.    This document is the result of work undertaken the by DNS working
  1642.    group.  The authors would particularly like to thank the following
  1643.    people for their contributions to this document: Philip Almquist,
  1644.    Frank Kastenholz (FTP Software), Joe Peck (DEC), Dave Perkins
  1645.    (SynOptics), Win Treese (DEC), and Mimi Zohar (IBM).
  1646.  
  1647. 6.  References
  1648.  
  1649.    [1] Mockapetris, P., "Domain Names -- Concepts and Facilities", STD
  1650.        13, RFC 1034, USC/Information Sciences Institute, November 1987.
  1651.  
  1652.    [2] Mockapetris, P., "Domain Names -- Implementation and
  1653.        Specification", STD 13, RFC 1035, USC/Information Sciences
  1654.        Institute, November 1987.
  1655.  
  1656.    [3] Braden, R., Editor, "Requirements for Internet Hosts --
  1657.        Application and Support, STD 3, RFC 1123, USC/Information
  1658.        Sciences Institute, October 1989.
  1659.  
  1660.    [4] Rose, M., and K. McCloghrie, "Structure and Identification of
  1661.        Management Information for TCP/IP-based internets", STD 16, RFC
  1662.        1155, Performance Systems International, Hughes LAN Systems, May
  1663.        1990.
  1664.  
  1665.    [5] McCloghrie, K., and M. Rose, "Management Information Base for
  1666.        Network Management of TCP/IP-based internets", RFC 1156, Hughes
  1667.        LAN Systems, Performance Systems International, May 1990.
  1668.  
  1669.    [6] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple
  1670.        Network Management Protocol", STD 15, RFC 1157, SNMP Research,
  1671.        Performance Systems International, Performance Systems
  1672.        International, MIT Laboratory for Computer Science, May 1990.
  1673.  
  1674.    [7] Rose, M., and K. McCloghrie, Editors, "Concise MIB Definitions",
  1675.        STD 16, RFC 1212, Performance Systems International, Hughes LAN
  1676.        Systems, March 1991.
  1677.  
  1678.  
  1679.  
  1680.  
  1681.  
  1682. Austein & Saperia                                              [Page 30]
  1683.  
  1684. RFC 1612                    DNS Resolver MIB                    May 1994
  1685.  
  1686.  
  1687.    [8] McCloghrie, K., and M. Rose, "Management Information Base for
  1688.        Network Management of TCP/IP-based internets: MIB-II", STD 17,
  1689.        RFC 1213, Hughes LAN Systems, Performance Systems International,
  1690.        March 1991.
  1691.  
  1692.    [9] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Structure
  1693.        of Management Information for version 2 of the Simple Network
  1694.        Management Protocol (SNMPv2)", RFC 1442, SNMP Research, Inc.,
  1695.        Hughes LAN Systems, Dover Beach Consulting, Inc., Carnegie Mellon
  1696.        University, April 1993.
  1697.  
  1698.   [10] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Textual
  1699.        Conventions for version 2 of the the Simple Network Management
  1700.        Protocol (SNMPv2)", RFC 1443, SNMP Research, Inc., Hughes LAN
  1701.        Systems, Dover Beach Consulting, Inc., Carnegie Mellon
  1702.        University, April 1993.
  1703.  
  1704.   [11] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
  1705.        "Conformance Statements for version 2 of the the Simple Network
  1706.        Management Protocol (SNMPv2)", RFC 1444, SNMP Research, Inc.,
  1707.        Hughes LAN Systems, Dover Beach Consulting, Inc., Carnegie Mellon
  1708.        University, April 1993.
  1709.  
  1710.   [12] Galvin, J., and K. McCloghrie, "Administrative Model for version
  1711.        2 of the Simple Network Management Protocol (SNMPv2)", RFC 1445,
  1712.        Trusted Information Systems, Hughes LAN Systems, April 1993.
  1713.  
  1714.   [13] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol
  1715.        Operations for version 2 of the Simple Network Management
  1716.        Protocol (SNMPv2)", RFC 1448, SNMP Research, Inc., Hughes LAN
  1717.        Systems, Dover Beach Consulting, Inc., Carnegie Mellon
  1718.        University, April 1993.
  1719.  
  1720.   [14] "Information processing systems - Open Systems Interconnection -
  1721.        Specification of Abstract Syntax Notation One (ASN.1)",
  1722.        International Organization for Standardization, International
  1723.        Standard 8824, December 1987.
  1724.  
  1725.  
  1726.  
  1727.  
  1728.  
  1729.  
  1730.  
  1731.  
  1732.  
  1733.  
  1734.  
  1735.  
  1736.  
  1737.  
  1738. Austein & Saperia                                              [Page 31]
  1739.  
  1740. RFC 1612                    DNS Resolver MIB                    May 1994
  1741.  
  1742.  
  1743. 7.  Security Considerations
  1744.  
  1745.    Security issues are not discussed in this memo.
  1746.  
  1747. 8.  Authors' Addresses
  1748.  
  1749.    Rob Austein
  1750.    Epilogue Technology Corporation
  1751.    268 Main Street, Suite 283
  1752.    North Reading, MA 01864
  1753.    USA
  1754.  
  1755.    Phone: +1-617-245-0804
  1756.    Fax:   +1-617-245-8122
  1757.    EMail: sra@epilogue.com
  1758.  
  1759.  
  1760.    Jon Saperia
  1761.    Digital Equipment Corporation
  1762.    110 Spit Brook Road
  1763.    ZKO1-3/H18
  1764.    Nashua, NH 03062-2698
  1765.    USA
  1766.  
  1767.    Phone: +1-603-881-0480
  1768.    Fax:   +1-603-881-0120
  1769.    EMail: saperia@zko.dec.com
  1770.  
  1771.  
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.  
  1787.  
  1788.  
  1789.  
  1790.  
  1791.  
  1792.  
  1793.  
  1794. Austein & Saperia                                              [Page 32]
  1795.  
  1796.